package demo.java.lang.management.vo;


/**
 * jvm启动一次后，不会变化的监控参数
 *
 * @author buffoon
 * @date 16/1/15
 */
public class StaticJvmModel {

    private String appName;

    private String hostname;

    private String PID;

    private Integer port;

    private String bootClassPath;

    private String classPath;

    private String inputArguments;

    private String libraryPath;

    private String oSArch;

    private int oSAvailableProcessors;

    private String oSName;

    private String oSVersion;

    private String systemProperties;

    private String vmName;

    private String vmVendor;

    private String vmVersion;

    private long timestamp;

    public StaticJvmModel() {
    }

    public StaticJvmModel(String appName, String hostname, StartupInfo startupInfo){
        this.appName = appName;
        this.hostname = hostname;
        this.PID = startupInfo.getPID();
        this.port = startupInfo.getPort();
        this.bootClassPath = startupInfo.getBootClassPath();
        this.classPath = startupInfo.getClassPath();
        this.inputArguments = startupInfo.getInputArguments();
        this.libraryPath = startupInfo.getLibraryPath();
        this.oSArch = startupInfo.getOSArch();
        this.oSAvailableProcessors = startupInfo.getOSAvailableProcessors();
        this.oSName = startupInfo.getOSName();
        this.oSVersion = startupInfo.getOSVersion();
        this.systemProperties = startupInfo.getSystemProperties();
        this.vmName = startupInfo.getVmName();
        this.vmVendor = startupInfo.getVmVendor();
        this.vmVersion = startupInfo.getVmVersion();
        this.timestamp = System.currentTimeMillis();
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getHostname() {
        return hostname;
    }

    public void setHostname(String hostname) {
        this.hostname = hostname;
    }

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }

    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getPID() {
        return PID;
    }

    public void setPID(String PID) {
        this.PID = PID;
    }

    public String getBootClassPath() {
        return bootClassPath;
    }

    public void setBootClassPath(String bootClassPath) {
        this.bootClassPath = bootClassPath;
    }

    public String getClassPath() {
        return classPath;
    }

    public void setClassPath(String classPath) {
        this.classPath = classPath;
    }

    public String getInputArguments() {
        return inputArguments;
    }

    public void setInputArguments(String inputArguments) {
        this.inputArguments = inputArguments;
    }

    public String getLibraryPath() {
        return libraryPath;
    }

    public void setLibraryPath(String libraryPath) {
        this.libraryPath = libraryPath;
    }

    public String getoSArch() {
        return oSArch;
    }

    public void setoSArch(String oSArch) {
        this.oSArch = oSArch;
    }

    public int getoSAvailableProcessors() {
        return oSAvailableProcessors;
    }

    public void setoSAvailableProcessors(int oSAvailableProcessors) {
        this.oSAvailableProcessors = oSAvailableProcessors;
    }

    public String getoSName() {
        return oSName;
    }

    public void setoSName(String oSName) {
        this.oSName = oSName;
    }

    public String getoSVersion() {
        return oSVersion;
    }

    public void setoSVersion(String oSVersion) {
        this.oSVersion = oSVersion;
    }

    public String getSystemProperties() {
        return systemProperties;
    }

    public void setSystemProperties(String systemProperties) {
        this.systemProperties = systemProperties;
    }

    public String getVmName() {
        return vmName;
    }

    public void setVmName(String vmName) {
        this.vmName = vmName;
    }

    public String getVmVendor() {
        return vmVendor;
    }

    public void setVmVendor(String vmVendor) {
        this.vmVendor = vmVendor;
    }

    public String getVmVersion() {
        return vmVersion;
    }

    public void setVmVersion(String vmVersion) {
        this.vmVersion = vmVersion;
    }
}
